Expand description
Utility functions to interact with Substrate’s Base-16 Modified Merkle Patricia tree (“trie”).
Modules
Trie Cache
Various re-exports from the
trie-db
crate.
Utility methods to work on radix 16 nibble.Trie recorder
This module is for non generic definition of trie type.
Only the
Hasher
trait is generic in this case.Structs
Storage proof in compact form.
Various re-exports from the
memory-db
crate.
Key function that only uses the hashHashDB
implementation that append a encoded prefix (unique id bytes) in addition to the
prefix of every key value.HashDBMut
implementation that append a encoded prefix (unique id bytes) in addition to the
prefix of every key value.substrate trie layout
substrate trie layout, with external value nodes.
The Substrate format implementation of
NodeCodec
.
The Substrate format implementation of NodeCodec
.
Concrete implementation of a NodeCodecT
with SCALE encoding.Various re-exports from the
memory-db
crate.
Key function that concatenates prefix and hash.Various re-exports from the
trie-db
crate.
Records trie nodes as they pass it.A proof that some set of key-value pairs are included in the storage trie. The proof contains
the storage values so that the partial storage backend can be reconstructed by a verifier that
does not already have access to the key-value pairs.
Various re-exports from the
trie-db
crate.
Iterator for going through all values in the trie in pre-order traversal order.Various re-exports from the
trie-db
crate.
Iterator for going through all of key with values in the trie in pre-order traversal order.The Substrate format implementation of
TrieStream
.
The Substrate format implementation of TrieStream
.
Codec-flavored TrieStream.Enums
Trie codec reexport, mainly child trie support
for trie compact proof.
Trie codec reexport, mainly child trie support
for trie compact proof.
Error for trie node decoding.
Our
NodeCodec
-specific error.
Our NodeCodec
-specific error.
Error type used for trie related errors.Various re-exports from the
trie-db
crate.
A NodePlan
is a blueprint for decoding a node from a byte slice. The NodePlan
is created
by parsing an encoded node and can be reused multiple times. This is useful as a Node
borrows
from a byte slice and this struct does not.Various re-exports from the
trie-db
crate.
Plan for value representation in NodePlan
.Errors that may occur during proof verification. Most of the errors types simply indicate that
the proof is invalid with respect to the statement being verified, and the exact error type can
be used for debugging.
Statics
Various re-exports from the
hash-db
crate.
An empty prefix constant.
Can be use when the prefix is not use internally
or for root nodes.Traits
Reexport from
hash_db
, with genericity set for Hasher
trait.Various re-exports from the
hash-db
crate.
Trait modelling datastore keyed by a hash defined by the Hasher
.Various re-exports from the
memory-db
crate.Various re-exports from the
trie-db
crate.
Description of what kind of query will be made to the trie.Various re-exports from the
trie-db
crate.
A key-value datastore implemented as a database-backed modified Merkle tree.Various re-exports from the
trie-db
crate.
A cache that can be used to speed-up certain operations when accessing the trie.Various re-exports from the
trie-db
crate.
This trait associates a trie definition with preferred methods.
It also contains own default implementations and can be
used to allow switching implementation.Various re-exports from the
trie-db
crate.
Trait with definition of trie layout.
Contains all associated trait needed for
a trie definition or implementation.Various re-exports from the
trie-db
crate.
A key-value datastore implemented as a database-backed modified Merkle tree.Various re-exports from the
trie-db
crate.
A trie recorder that can be used to record all kind of TrieAccess
’s.Functions
Determine a child trie root given a hash DB and delta values. H is the default hasher,
but a generic implementation may ignore this type parameter and use other hashers.
Determine a child trie root given its ordered contents, closed form. H is the default hasher,
but a generic implementation may ignore this type parameter and use other hashers.
Trie codec reexport, mainly child trie support
for trie compact proof.
Trie codec reexport, mainly child trie support
for trie compact proof.
Decode a compact proof.
Determine a trie root given a hash DB and delta values.
Determine the empty child trie root.
Determine the empty trie root.
Trie codec reexport, mainly child trie support
for trie compact proof.
Trie codec reexport, mainly child trie support
for trie compact proof.
Encode a compact proof.
Create a proof for a subset of keys in a trie.
Various re-exports from the
memory-db
crate.
Derive a database key from hash value of the node (key) and the node prefix.Read a hash from the child trie.
Read a value from the child trie.
Read a value from the child trie with given query.
Read a value from the trie.
Read a value from the trie with given Query.
Verify a set of key-value pairs against a trie root and a proof.
Type Definitions
Various re-exports from the
trie-db
crate.
Alias accessor to NodeCodec
associated Error
type from a TrieLayout
.Various re-exports from the
trie-db
crate.
Database valueReexport from
hash_db
, with genericity set for Hasher
trait.Reexport from
hash_db
, with genericity set for Hasher
trait.Querying interface, as in
trie_db
but less generic.Reexport from
hash_db
, with genericity set for Hasher
trait.
This uses a noops KeyFunction
(key addressing must be hashed or using
an encoding scheme that avoid key conflict).Reexport from
hash_db
, with genericity set for Hasher
trait.
This uses a KeyFunction
for prefixing keys internally (avoiding
key conflict for non random keys).Persistent trie database read-access interface for the a given hasher.
Builder for creating a
TrieDB
.Persistent trie database write-access interface for the a given hasher.
Builder for creating a
TrieDBMut
.TrieDB error over
TrieConfiguration
trait.Hash type for a trie layout.